"""MySQL数据库配置文件
请根据你的实际数据库信息修改以下配置
"""

import os

# MySQL数据库连接配置
MYSQL_CONFIG = {
    # 数据库主机地址 (远程服务器IP或域名)
    'host': os.getenv('MYSQL_HOST', '192.168.168.21'),  # 优先使用环境变量
    
    # 数据库端口 (默认3306)
    'port': int(os.getenv('MYSQL_PORT', '5013')),
    
    # 数据库用户名
    'user': os.getenv('MYSQL_USER', 'dba'),
    
    # 数据库密码
    'password': os.getenv('MYSQL_PASSWORD', '5d63f33c10b8f430'),
    
    # 数据库名称
    'database': os.getenv('MYSQL_DATABASE', 'db_aisql'),
    
    # 字符编码
    'charset': 'utf8mb4',
    
    # 连接超时时间(秒)
    'connect_timeout': 10,
    
    # 是否自动重连
    'autocommit': True
}

import os

# 阿里云百练API配置 (用于自然语言查询)
OPENAI_CONFIG = {
    'api_key': os.getenv('OPENAI_API_KEY', 'sk-331a9340c31842ae84df50c40185928c'),  # 优先使用环境变量
    'base_url': 'https://dashscope.aliyuncs.com/compatible-mode/v1',
    'model': 'qwen-turbo',  # 阿里云百练支持的模型名称
    'temperature': 0
}

# 常用的MySQL连接字符串模板
def get_mysql_connection_string():
    """生成MySQL连接字符串"""
    config = MYSQL_CONFIG
    return f"mysql+pymysql://{config['user']}:{config['password']}@{config['host']}:{config['port']}/{config['database']}?charset={config['charset']}"

# 配置验证函数
def validate_mysql_config():
    """验证MySQL配置是否完整"""
    required_keys = ['host', 'port', 'user', 'password', 'database']
    for key in required_keys:
        if not MYSQL_CONFIG.get(key):
            raise ValueError(f"MySQL配置缺少必要参数: {key}")
    return True